Case Studies on Invariant Generation Using a Saturation Theorem Prover
نویسندگان
چکیده
Automatic understanding of the intended meaning of computer programs is a very hard problem, requiring intelligence and reasoning. In this paper we evaluate a program analysis method, called symbol elimination, that uses firstorder theorem proving techniques to automatically discover non-trivial program properties. We discuss implementation details of the method, present experimental results, and discuss the relation of the program properties obtained by our implementation and the intended meaning of the programs used in the experiments.
منابع مشابه
Reasoning About Loops Over Arrays using Vampire
The search for automated loop invariants generation has been popularly pursued due to the fact that invariants play a critical role in the verification process. Invariants with quantifiers are particularly interesting for these quantified invariants can be used to express relationships among the elements of array variables and other scalar variables. Automated invariant generation using a first...
متن کاملQuantified Invariant Generation Using an Interpolating Saturation Prover
Interpolating provers have a variety of applications in verification, including invariant generation and abstraction refinement. Here, we extended these methods to produce universally quantified interpolants and invariants, allowing the verification of programs manipulating arrays and heap data structures. We show how a paramodulation-based saturation prover, such as SPASS, can be modified in a...
متن کاملReasoning About Loops Using Vampire in KeY
We describe symbol elimination and consequence nding in the rst-order theorem prover Vampire for automatic generation of quanti ed invariants, possibly with quanti er alternations, of loops with arrays. Unlike the previous implementation of symbol elimination in Vampire, our work is not limited to a speci c programming language but provides a generic framework by relying on a simple guarded com...
متن کاملReasoning About Loops Using Vampire
In 2009, the symbol elimination method for loop invariant generation was introduced [8], which used saturation theorem proving in first-order logic to generate quantified invariants of programs with arrays. Symbol elimination is fully automatic, requires no user guidance, and it is the first ever approach able to generate invariants with alternations of quantifiers. In this paper we describe a ...
متن کاملA Prover for the μ CRL Toolset with Applications —
This document describes an automated theorem prover, based on an extension of binary decision diagrams. The prover transforms quantifier-free formulae into equivalent BDD-forms, w.r.t. to some algebraic data specification. The prover is used by four tools for the symbolic analysis of distributed systems specified in μCRL (i.e. process algebra plus algebraic data types). The main techniques are ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011